// gcc -o test_read_file2 test_read_file2.c
#include <stdio.h>
#include <stdlib.h>

int main() {
    char filename[256]; // 假设文件名不超过255个字符
    char filename_new[256] = {"test_file1.txt"}; // 假设文件名不超过255个字符
    FILE *file;
    while(1){
        // 提示用户输入文件名
        printf("请指定要读取的文件名：");
        scanf("%255s", filename); // 读取文件名，限制长度为255个字符

        if (filename[0] == '1' || filename[0] == '2' || filename[0] == '3' || filename[0] == '4' || filename[0] == '5'){
            filename_new[9] = filename[0];
            file = fopen(filename_new, "r"); // 以只读模式打开文件
            if (file == NULL) {
                // 如果文件打开失败，打印错误信息并退出程序
                perror("文件打开失败");
                return EXIT_FAILURE;
            }
        }
        else{
            // 尝试打开文件
            file = fopen(filename, "r"); // 以只读模式打开文件
            if (file == NULL) {
                // 如果文件打开失败，打印错误信息并退出程序
                perror("文件打开失败");
                return EXIT_FAILURE;
            }
        }


        // 读取并打印文件内容
        char ch;
        while ((ch = fgetc(file)) != EOF) { // 读取文件直到文件末尾
            putchar(ch); // 打印字符
        }

        // 关闭文件
        fclose(file);

        printf("\n文件内容已打印完毕。\n");
    }


    return EXIT_SUCCESS;
}